/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao;

/**
 *
 * @author Asus
 */

import java.sql.SQLException;
import java.util.ArrayList;


public abstract class DAO<T> {

        	/**
	 * Permet de rÃ©cupÃ©rer un objet via son ID
	 * @param id
	 * @return
	 */
	public abstract T find(int id);
        
        	/**
	 * Permet de tous les objets d'une classe
	 * @param 
	 * @return arrayList
	 */
        public abstract ArrayList<T> getAll()  throws SQLException, ClassNotFoundException;
	
	/**
	 * Permet de crÃ©er une entrÃ©e dans la base de donnÃ©es
	 * par rapport Ã  un objet
	 * @param obj
	 */
	public abstract void create(T obj);
	
	/**
	 * Permet de mettre Ã  jour les donnÃ©es d'une entrÃ©e dans la base 
	 * @param obj
	 */
	public abstract void update(T obj);
	
	/**
	 * Permet la suppression d'une entrÃ©e de la base
	 * @param obj
	 */
	public abstract void delete(T obj);
}

